As the wideband network becomes more ubiquitous, more network services are provided in the Internet, wherein the number and variety of web services are growing rapidly. In addition, more service providers are investigating to join the web service market. At present, the network services range from providing simple static information, such as, images and texts, to multimedia streaming and e-commerce. Web service is an important part for service provider to reach out to the mass consumers.
The conventional network service is often called stateless service. The stateless service refers to a one-direction flow of information, wherein the user visits a certain site and read or download related information, such as, documents, articles, news, images, and so on. Contrast to the stateless service, the contemporary service is often referred to as stateful service, or session-based service. The session-based service, on the other hand, is to generate response corresponding to the request of the user, such as, shopping, search engine, and so on. Therefore, for different requests, different contents will be generated by the website to the user based on the previous record of the user. When the website receives the request from the user or parameters provided by the user, the website generates corresponding result according to the request or the parameters. All the requests are in the form of a session-based service. On the other hand, the network Open System Interconnection (OSI) Reference Model clearly defines the session layer and its importance. The session layer is responsible for establishing network connection and terminating the connection when the data transmission is over. The operation can be understood by the metaphor of calling conference meeting (establishing connection), exchanging opinions (data transmission) and adjourning the conference meeting (terminating connection). Therefore, more and more web services operate based on the session layer, which leads to the increasing importance of the session management in the network services.
In addition, as telecommunication service grows rapidly in recent years, many telecommunication providers use remote network management to manage facilities remotely to save operation cost. For remote network management, the majority of the management protocols or application software is based on HTTP protocol. Therefore, the session management in HTTP protocol plays an important role in the remote management efficiency.
On the other hand, the session is also widely used in cluster computing management system. A cluster system may be formed in many ways. One of the most common ways is to adopt the architecture centered with a load balancer 102, as shown in FIG. 1. After load balancer 102 receives a client request from a client 101, load balancer 102 determines which cluster node 103 at the backend should be request be forwarded to based on the load balancing mechanism. After receiving the request, the designated cluster node 103 executes the request task and then replies the response to the client 101.
In the above scenario, the load balancing mechanism in the load balancer is to determine which backend cluster node should the client request be forwarded to so that the load among the backend cluster nodes can be balanced to take performance, throughput, utilization and related index into consideration. Therefore, the quality of the load balancing mechanism affects directly the efficiency of the system management.
The known load balancing mechanisms are roughly divided into two categories: static and dynamic. In static load balancing mechanism, the state of the backend cluster nodes, such as, the current load, data distribution in the disks, computation capability, and so on, is not considered when dispatching requests or tasks. Instead, the dispatching depends solely on the judgment of the load balancer. Therefore, the algorithms adopted by this category of mechanism mainly include round robin and random types. In dynamic load balancing mechanism, the state of the backend cluster nodes is taken into account when dispatching the requests and the tasks. Compared to static type, the dynamic load balancing mechanism is considered smarter because a better dispatching policy can be achieved for real time system resource when the state of the backend cluster nodes is taken into account. Load balancing mechanism of this category include: content-based, locality-aware request distribution, weighted round robin, least connection, adaptive mechanism, and so on. Regardless of the category, different load balancing mechanisms can be applied to different systems. However, mere improvement on the load balancing mechanism can only improve the overall efficiency of an entire cluster to a small extent.
To improve the efficiency of an entire cluster, the session-based management is an effective starting point as the session connection is the basic element in the cluster structure. Therefore, the fundamental improvement of the cluster efficiency can be achieved by the optimal session management policy for each session management according to the management environment. Currently, the session-based management mechanisms are categorized as: sticky session management mechanism and multi-point replication session management mechanism. The sticky session management mechanism has the characteristics of single point of failure. Without a mechanism of replicating session information to other cluster nodes, the entire session can be unable to continue when the node originally providing services unexpectedly becomes unable to continue providing service, such as, connection failure, because the entire session cannot be transferred to other nodes. In other words, this type of mechanism does not provide fault-recovery capability. The multi-point replication session management mechanism uses multicasting to replicate session information to other nodes. With a mechanism to repeatedly replicate session information to other nodes, a fail-over effect can be achieved. However, this type of mechanism greatly increases network load as well as management cost. Thus, it is imperative to devise an adaptive session management mechanism to effectively reduce the cost of network system, improve remote management efficiency so that the remote management is more convenient to facilitate industrial growth.